package com.itheima.d05_interface_attention;

/**
 * 实现类:
 *      sing
 *      dance
 *      rap
 *      basketball
 */
public class AKun implements   IKun  /*ISinger,IDance, IRap, IBasketball*/{

    @Override
    public void basketball() {

    }

    @Override
    public void dance() {

    }

    @Override
    public void rap() {

    }

    @Override
    public void sing() {

    }
}

interface  IKun extends ISinger, IDance, IRap, IBasketball{

}


interface ISinger{
    void sing();
}

interface IDance{
    void dance();
}

interface IRap{
    void rap();
}

interface IBasketball{
    void basketball();
}

//注意事项1：一个接口继承多个接口，如果多个接口中存在定义相同的方法，则此接口不支持多继承
interface a{
    void eat();
}
interface b{
    String eat();
}

/*interface c extends a,b{

    @Override
    default void eat() {

    }
}*/


//注意事项2：一个类实现类多个接口，如果多个接口中存在定义相同的方法，则此类不支持多实现
/*class  d implements a,b{
    @Override
    public void eat() {

    }
}*/

//注意事项3：一个类继承了一个父类，实现了一个接口。父类和接口的默认方法相同，则父类方法优先（亲爹，干爹）
interface e{
    default void money(){
        System.out.println("100万");
    }
}

class f {
    public void money(){
        System.out.println("10万");
    }
}

class g extends f implements e{

}


//注意事项4：一个类实现了多个接口，多个接口定义相同的默认方法（多个干爹），实现类主动选择一个
interface  h{
    default void money(){
        System.out.println("1000万");
    }
}

class i implements  h,e{


    @Override
    public void money() {
        h.super.money();
    }
}

































